package com.mapaoer.user.dao;

import com.mapaoer.user.entity.DeveloperProfile;
import com.mapaoer.user.entity.DeveloperSkill;
import com.mapaoer.user.entity.SkillTag;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 开发者技能关联数据访问接口
 * 提供开发者技能关联相关的数据库操作方法
 */
@Repository
public interface DeveloperSkillRepository extends BaseMapper<DeveloperSkill> {

    /**
     * 根据开发者查找技能列表
     * @param developer 开发者信息
     * @return 技能列表
     */
    List<DeveloperSkill> findByDeveloper(DeveloperProfile developer);

    /**
     * 根据技能标签查找开发者列表
     * @param skill 技能标签
     * @return 开发者列表
     */
    List<DeveloperSkill> findBySkill(SkillTag skill);

    /**
     * 根据开发者和技能标签查找关联信息
     * @param developer 开发者信息
     * @param skill 技能标签
     * @return 关联信息
     */
    DeveloperSkill findByDeveloperAndSkill(DeveloperProfile developer, SkillTag skill);
}